public/assets/packages/modules/runtime.js:203:        if (error && error.status === 412) { dropDatasetEtag(id); invalidateDataset(id); }
public/assets/packages/modules/runtime.js:228:        if (error && error.status === 412) { dropDatasetEtag(id); invalidateDataset(id); }
public/assets/packages/modules/runtime.js:309:function dropDatasetEtag(id) {
public/assets/packages/ui/drag-manager.js:81:      onDrop({ data: state.dragData, dropzone: state.overEl });
public/assets/packages/ui/drag-manager.js:107:    const nextDropzone = over?.closest('[data-dropzone="true"]') ?? null;
public/assets/packages/ui/drag-manager.js:111:        onPreview({ type: 'leave', data: state.dragData, dropzone: state.overEl });
public/assets/packages/ui/drag-manager.js:118:          dropzone: nextDropzone,
public/assets/packages/ui/drag-manager.js:133:      dropzone: state.overEl,
public/assets/packages/ui/drag-manager.js:142:      dropzone: state.overEl,
public/assets/packages/ui/modal.js:13:    .backdrop {
public/assets/packages/ui/modal.js:17:      backdrop-filter: blur(3px);
public/assets/packages/ui/modal.js:29:  <div class="backdrop" part="backdrop"></div>
public/assets/packages/ui/modal.js:49:    this.shadowRoot.querySelector('.backdrop').addEventListener('click', () => this.close());
public/assets/packages/ui/theme.css:211:  backdrop-filter: blur(8px);
public/assets/packages/ui/theme.css:653:  backdrop-filter: blur(2px);
public/assets/apps/board/styles/board.css:22:  filter: drop-shadow(0 16px 28px rgba(15, 23, 42, 0.2));
public/assets/apps/board/styles/board.css:419:.list-drop-tail {
public/assets/apps/board/styles/board.css:1083:.drop-indicator {
public/assets/apps/board/styles/board.css:1088:.drop-indicator--item,
public/assets/apps/board/styles/board.css:1089:.drop-indicator--list {
public/assets/apps/board/styles/board.css:1095:.drop-indicator--column {
public/assets/apps/board/styles/board.css:1107:  backdrop-filter: blur(4px);
public/assets/apps/board/styles/board.css:1260:  backdrop-filter: blur(4px);
public/assets/apps/board/modules/ui/board-view.js:12:    <div class="node-root" data-dropzone="true" data-dropzone-type="list" data-node="${root.id}">
public/assets/apps/board/modules/ui/board-view.js:61:        <div class="children" data-dropzone="true" data-dropzone-type="list" data-node="${node.id}">
public/assets/apps/board/modules/ui/board-view.js:65:          <div class="list-drop-tail" data-dnd-ignore="true"></div>
public/assets/apps/board/modules/ui/board-view.js:378:      <div class="board-column__body" data-dropzone="true" data-dropzone-type="list" data-node="${column.id}">
public/assets/apps/board/modules/ui/layout.js:109:      <div class="column-row" data-dropzone="true" data-dropzone-type="column" data-workspace="${workspace.id}">
public/assets/apps/board/modules/dnd.js:10:let dropIntent = null;
public/assets/apps/board/modules/dnd.js:11:const dropIndicatorState = { element: null, kind: null, dropzone: null };
public/assets/apps/board/modules/dnd.js:43:      if (!data || !dropIntent || dropIntent.sourceId !== data.id) {
public/assets/apps/board/modules/dnd.js:46:        dropIntent = null;
public/assets/apps/board/modules/dnd.js:50:      if (dropIntent.kind === 'item') {
public/assets/apps/board/modules/dnd.js:52:      } else if (dropIntent.kind === 'list') {
public/assets/apps/board/modules/dnd.js:54:      } else if (dropIntent.kind === 'column') {
public/assets/apps/board/modules/dnd.js:61:      dropIntent = null;
public/assets/apps/board/modules/dnd.js:71:      if (ctx?.dropzone instanceof HTMLElement) {
public/assets/apps/board/modules/dnd.js:72:        containers.push(ctx.dropzone);
public/assets/apps/board/modules/dnd.js:86:  dropIntent = null;
public/assets/apps/board/modules/dnd.js:91:  dropIntent = null;
public/assets/apps/board/modules/dnd.js:244:      dropIntent = null;
public/assets/apps/board/modules/dnd.js:248:      dropIntent = null;
public/assets/apps/board/modules/dnd.js:251:      if (dropIndicatorState.dropzone === event.dropzone) {
public/assets/apps/board/modules/dnd.js:254:      if (dropIntent && dropIntent.dropzone === event.dropzone) {
public/assets/apps/board/modules/dnd.js:255:        dropIntent = null;
public/assets/apps/board/modules/dnd.js:261:      if (!event.dropzone || !event.data) {
public/assets/apps/board/modules/dnd.js:263:        dropIntent = null;
public/assets/apps/board/modules/dnd.js:281:  const dropzone = event.dropzone;
public/assets/apps/board/modules/dnd.js:282:  const dropzoneType = dropzone?.dataset?.dropzoneType ?? '';
public/assets/apps/board/modules/dnd.js:283:  if (!dropzone || (dropzoneType !== 'item' && dropzoneType !== 'list')) {
public/assets/apps/board/modules/dnd.js:284:    if (dropIntent && dropIntent.kind === 'item') {
public/assets/apps/board/modules/dnd.js:285:      dropIntent = null;
public/assets/apps/board/modules/dnd.js:291:  const toParentId = dropzone.dataset.node;
public/assets/apps/board/modules/dnd.js:294:    dropIntent = null;
public/assets/apps/board/modules/dnd.js:298:  if (dropzone.closest(`[data-node="${event.data.nodeId || event.data.id}"]`)) {
public/assets/apps/board/modules/dnd.js:300:    dropIntent = null;
public/assets/apps/board/modules/dnd.js:304:  const siblings = Array.from(dropzone.querySelectorAll(':scope > .list, :scope > .item'))
public/assets/apps/board/modules/dnd.js:321:  const composer = dropzone.querySelector('.list-composer[data-open="true"]');
public/assets/apps/board/modules/dnd.js:322:  const tail = dropzone.querySelector('.list-drop-tail');
public/assets/apps/board/modules/dnd.js:324:  placeIndicator(dropzone, insertBefore, fallback);
public/assets/apps/board/modules/dnd.js:326:  dropIntent = {
public/assets/apps/board/modules/dnd.js:331:    dropzone,
public/assets/apps/board/modules/dnd.js:336:  const dropzone = event.dropzone;
public/assets/apps/board/modules/dnd.js:337:  if (!dropzone || dropzone.dataset.dropzoneType !== 'list') {
public/assets/apps/board/modules/dnd.js:338:    if (dropIntent && dropIntent.kind === 'list') {
public/assets/apps/board/modules/dnd.js:339:      dropIntent = null;
public/assets/apps/board/modules/dnd.js:345:  const toParentId = dropzone.dataset.node;
public/assets/apps/board/modules/dnd.js:348:    dropIntent = null;
public/assets/apps/board/modules/dnd.js:355:    dropIntent = null;
public/assets/apps/board/modules/dnd.js:359:  if (dropzone.closest(`[data-node="${draggedId}"]`)) {
public/assets/apps/board/modules/dnd.js:361:    dropIntent = null;
public/assets/apps/board/modules/dnd.js:369:    dropIntent = null;
public/assets/apps/board/modules/dnd.js:376:    dropIntent = null;
public/assets/apps/board/modules/dnd.js:388:    .map(id => dropzone.querySelector(`article.list[data-node="${id}"]`))
public/assets/apps/board/modules/dnd.js:411:    referenceEl = dropzone.querySelector(`article.list[data-node="${beforeId}"]`);
public/assets/apps/board/modules/dnd.js:414:      const candidate = dropzone.querySelector(`article.list[data-node="${id}"]`);
public/assets/apps/board/modules/dnd.js:426:  const composer = dropzone.querySelector('.list-composer[data-open="true"]');
public/assets/apps/board/modules/dnd.js:427:  const tail = dropzone.querySelector('.list-drop-tail');
public/assets/apps/board/modules/dnd.js:429:  placeIndicator(dropzone, referenceEl, fallback);
public/assets/apps/board/modules/dnd.js:431:  dropIntent = {
public/assets/apps/board/modules/dnd.js:436:    dropzone,
public/assets/apps/board/modules/dnd.js:441:  const dropzone = event.dropzone;
public/assets/apps/board/modules/dnd.js:442:  if (!dropzone || dropzone.dataset.dropzoneType !== 'column') {
public/assets/apps/board/modules/dnd.js:443:    if (dropIntent && dropIntent.kind === 'column') {
public/assets/apps/board/modules/dnd.js:444:      dropIntent = null;
public/assets/apps/board/modules/dnd.js:450:  const workspaceId = dropzone.dataset.workspace;
public/assets/apps/board/modules/dnd.js:453:    dropIntent = null;
public/assets/apps/board/modules/dnd.js:457:  const columnsDom = Array.from(dropzone.querySelectorAll('section.board-column[data-column]')).filter(el => el.dataset.column);
public/assets/apps/board/modules/dnd.js:473:    dropIntent = null;
public/assets/apps/board/modules/dnd.js:488:  const fallback = dropzone.querySelector('[data-dnd-ignore="true"]');
public/assets/apps/board/modules/dnd.js:489:  placeIndicator(dropzone, insertBeforeEl, fallback);
public/assets/apps/board/modules/dnd.js:491:  dropIntent = {
public/assets/apps/board/modules/dnd.js:496:    dropzone,
public/assets/apps/board/modules/dnd.js:504:  if (!dropIntent || dropIntent.kind !== 'item') {
public/assets/apps/board/modules/dnd.js:509:  const outcome = sendCommandRef('MoveNode', { nodeId, toParentId: dropIntent.toParentId, toIndex: dropIntent.toIndex });
public/assets/apps/board/modules/dnd.js:517:  if (!dropIntent || dropIntent.kind !== 'list') {
public/assets/apps/board/modules/dnd.js:538:  if (currentParentId === dropIntent.toParentId) {
public/assets/apps/board/modules/dnd.js:547:    if (currentIndex === dropIntent.position) {
public/assets/apps/board/modules/dnd.js:554:    toParentId: dropIntent.toParentId,
public/assets/apps/board/modules/dnd.js:555:    toIndex: dropIntent.position,
public/assets/apps/board/modules/dnd.js:566:  if (!location || !dropIntent || dropIntent.kind !== 'column') {
public/assets/apps/board/modules/dnd.js:570:  if (location.workspaceId !== dropIntent.workspaceId) {
public/assets/apps/board/modules/dnd.js:573:  if (location.index === dropIntent.position) {
public/assets/apps/board/modules/dnd.js:578:    workspaceId: dropIntent.workspaceId,
public/assets/apps/board/modules/dnd.js:580:    position: dropIntent.position,
public/assets/apps/board/modules/dnd.js:586:  if (dropIndicatorState.kind !== kind || !dropIndicatorState.element) {
public/assets/apps/board/modules/dnd.js:587:    if (dropIndicatorState.element) {
public/assets/apps/board/modules/dnd.js:588:      dropIndicatorState.element.remove();
public/assets/apps/board/modules/dnd.js:591:    el.className = `drop-indicator drop-indicator--${kind}`;
public/assets/apps/board/modules/dnd.js:592:    dropIndicatorState.element = el;
public/assets/apps/board/modules/dnd.js:593:    dropIndicatorState.kind = kind;
public/assets/apps/board/modules/dnd.js:595:  return dropIndicatorState.element;
public/assets/apps/board/modules/dnd.js:598:function placeIndicator(dropzone, reference, fallback) {
public/assets/apps/board/modules/dnd.js:599:  if (!dropIndicatorState.element) {
public/assets/apps/board/modules/dnd.js:607:  if (target && target.parentElement === dropzone) {
public/assets/apps/board/modules/dnd.js:608:    if (dropIndicatorState.element.nextElementSibling !== target) {
public/assets/apps/board/modules/dnd.js:609:      dropzone.insertBefore(dropIndicatorState.element, target);
public/assets/apps/board/modules/dnd.js:613:      dropIndicatorState.element.parentElement !== dropzone ||
public/assets/apps/board/modules/dnd.js:614:      dropIndicatorState.element.nextElementSibling !== null;
public/assets/apps/board/modules/dnd.js:616:      dropzone.appendChild(dropIndicatorState.element);
public/assets/apps/board/modules/dnd.js:619:  dropIndicatorState.dropzone = dropzone;
public/assets/apps/board/modules/dnd.js:623:  if (dropIndicatorState.element) {
public/assets/apps/board/modules/dnd.js:624:    dropIndicatorState.element.remove();
public/assets/apps/board/modules/dnd.js:626:  dropIndicatorState.element = null;
public/assets/apps/board/modules/dnd.js:627:  dropIndicatorState.kind = null;
public/assets/apps/board/modules/dnd.js:628:  dropIndicatorState.dropzone = null;
